package com.anolesoft.yr.mbus.pre.service;

import com.anolesoft.yr.mbus.pre.dto.PrePromoteDeleteDTO;
import com.anolesoft.yr.mbus.pre.dto.PrePromoteSaveDTO;
import com.anolesoft.yr.mbus.pre.dto.PrePromoteUpdateDTO;
import com.anolesoft.yr.mbus.pre.entity.PrePromote;
import com.anolesoft.yr.mbus.pre.vo.PrePromoteQueryVO;
import com.anolesoft.yr.mbus.prod.model.vo.ProdTypeQueryVO;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface PrePromoteService {

    //新增推广记录
    String savePrePromote (PrePromoteSaveDTO prePromoteSaveDTO) throws Exception;

    //修改推广记录
    String updatePrePromote (PrePromoteUpdateDTO prePromoteUpdateDTO) throws Exception;

    //删除推广记录
    String deletePrePromote (List<PrePromoteDeleteDTO> prePromoteDeleteDTOList) throws Exception;

    //提交推广记录
    String submitPrePromote (List<PrePromoteDeleteDTO> prePromoteDeleteDTOList) throws Exception;

    //根据主键查询推广记录唯一数据
    Map<String, Object> queryPrePromoteByUid(String uid) throws Exception;

    //根据条件查询推广记录所有数据
    Map<String, Object> queryPrePromoteAll(String infoSource, String sourceTime, String intoCompany, int page, int limit) throws Exception;

    //根据条件查询推广记录所有数据
    Map<String, Object> queryPrePromoteAll2(String infoSource, String sourceTime, String intoCompany, String state, int page, int limit) throws Exception;

    //根据条件查询推广记录所有数据
    Map<String, Object> queryPrePromoteAll3(String infoSource, String sourceTime, String intoCompany, int page, int limit) throws Exception;

    //查询地区信息（临时查询，正常应该在地区接口中）
    List<PrePromoteQueryVO> getRegionName() throws Exception;

    //查询人员信息（临时查询，正常应该在人员接口中）
    List<PrePromoteQueryVO> queryFacEmployeeName() throws Exception;

    //派工推广记录
    String assignPrePromote (PrePromote prePromote) throws Exception;

    //查询客户名称信息（临时查询，正常应该在客户接口中）
    List<PrePromoteQueryVO> queryCrmBaseName() throws Exception;

    //查询客户联系人、联系方式信息（临时查询，正常应该在客户接口中）
    PrePromoteQueryVO queryCrmBase2(String objuid) throws Exception;

    //根据主键查询推广记录，用于询盘回访界面的显示
    PrePromoteQueryVO queryPrePromoteByUid2(String objuid) throws Exception;

}
